# -*- coding: utf-8 -*-
"""
@Time ： 2022/7/23 20:12
@Auth ： Mr. William 1052949192
@Company ：特斯汀学院 @testingedu.com.cn
@Function ：装饰器：本质还是函数
"""


# 装饰器模板
def my_dec(func):
    # func就是my_func这个函数
    # print(func(11, 1))

    # 这里收到的是调用时的参数(1,1)
    def wrapper(*args, **kwargs):
        # 当你使用装饰器，其实是在这里才真正调用被装饰函数
        res = func(*args, **kwargs)
        return res

    # 这里不能写括号，否则wrapper就接收不到被调用的参数了
    return wrapper


# 装饰器使用
@my_dec
def my_func(a, b):
    print('执行了my_func')
    z = a + b

    def x():
        print(1)
        return z

    return x()


# 装饰器使用
@my_dec
def my_func1(a, b):
    z = a - b
    return z


res = my_func(1, 1)
print(res)
